{"version":3,"file":"static/chunks/pages/slots/provider/[provider]-80a8796a7d73f0e3.js","sources":["webpack://_N_E/./src/modules/slots/layouts/SlotProvider.layout.tsx","webpack://_N_E/./src/pages/slots/provider/[provider]/index.tsx","webpack://_N_E/?7feb"],"sourceRoot":"","sourcesContent":["import React, { FC, useCallback, useContext, useEffect, useState } from 'react';\n\nimport { useGetDataArray } from '@legacyApp/hooks/fetch/useGetDataArray';\nimport {\n\tDEFAULT_GAMES_PAGE,\n\tGAMES_ON_PAGE,\n} from '@modules/slots/constants/SlotMenu.constants';\nimport { useFetchGames } from '@modules/slots/hooks/useFetchGames';\nimport { ProviderDTO, Slot } from '@modules/slots/store/slots.types';\n\nimport { SectionsTabNav } from '@common/components/home/SectionsTabNav/SectionsTabNav';\nimport { Loader } from '@legacyApp/client/components/loader/loader';\nimport { StyledListWrapper } from '@modules/slots/components/ListWrapper.styled';\nimport { NoGames } from '@modules/slots/components/NoGames';\nimport { ProvidersSection } from '@modules/slots/components/ProvidersSection';\nimport { ShowMore } from '@modules/slots/components/ShowMore';\nimport { SlotsBreadcrumbs } from '@modules/slots/components/SlotsBreadcrumbs';\nimport { SlotsFilters } from '@modules/slots/components/SlotsFilters';\nimport { TileSlotsGrid } from '@modules/slots/components/TileSlotsGrid';\nimport {\n\tStyledHeaderFilters,\n\tStyledHeaderTitleContainer,\n\tStyledSectionHeader,\n\tStyledSlotContainer,\n} from '@modules/slots/layouts/SlotCategory.layout';\nimport {\n\tSlotsFiltersContainer,\n\tSlotsFiltersContext,\n} from '@modules/slots/components/SlotsFiltersContainer';\n\nexport const SlotProviderLayout_: FC<{ provider: ProviderDTO }> = ({\n\tprovider,\n}) => {\n\tconst providerId = provider?.id;\n\n\tconst providerName = provider?.name;\n\n\tconst { filterSort } = useContext(SlotsFiltersContext);\n\n\tconst [gamesPage, setGamesPage] = useState(DEFAULT_GAMES_PAGE);\n\n\tconst [gamesCount, setGamesCount] = useState(GAMES_ON_PAGE);\n\n\tconst memoizedSetGamesCount = useCallback(\n\t\t(count) => setGamesCount(count),\n\t\t[],\n\t);\n\n\tconst [dataKey, setDataKey] = useState('');\n\n\tconst { callback } = useFetchGames();\n\n\tconst gamesCallback = useCallback(\n\t\t() =>\n\t\t\tcallback({\n\t\t\t\tcount: gamesCount,\n\t\t\t\tpage: gamesPage,\n\t\t\t\tprovider: providerId,\n\t\t\t\t...(filterSort.value && { orderBy: filterSort.value }),\n\t\t\t}),\n\t\t[gamesCount, callback, filterSort.value, gamesPage, providerId],\n\t);\n\n\tconst {\n\t\tdata: list,\n\t\tcount,\n\t\tloaded,\n\t\tloading,\n\t} = useGetDataArray<Slot>(`${dataKey}${gamesPage}`, gamesCallback);\n\n\tconst showMoreHandler = () => {\n\t\tsetGamesPage((prevGamesPage) => prevGamesPage + 1);\n\t};\n\n\tuseEffect(() => {\n\t\tconst dataKey_ = `${providerId},${gamesCount},${filterSort.value}`;\n\n\t\tif (dataKey_ !== dataKey) {\n\t\t\tsetGamesPage(DEFAULT_GAMES_PAGE);\n\n\t\t\tsetDataKey(dataKey_);\n\t\t}\n\t}, [dataKey, filterSort.value, gamesCount, providerId]);\n\n\treturn (\n\t\t<>\n\t\t\t<StyledSlotContainer>\n\t\t\t\t<SectionsTabNav />\n\n\t\t\t\t<StyledSectionHeader>\n\t\t\t\t\t<StyledHeaderTitleContainer>\n\t\t\t\t\t\t<SlotsBreadcrumbs title={providerName} />\n\t\t\t\t\t</StyledHeaderTitleContainer>\n\n\t\t\t\t\t<StyledHeaderFilters>\n\t\t\t\t\t\t<SlotsFilters name={providerName} />\n\t\t\t\t\t</StyledHeaderFilters>\n\t\t\t\t</StyledSectionHeader>\n\n\t\t\t\t<StyledListWrapper>\n\t\t\t\t\t<Loader active={loading} />\n\n\t\t\t\t\t{list?.length === 0 && loaded && <NoGames />}\n\n\t\t\t\t\t<TileSlotsGrid\n\t\t\t\t\t\tsetGamesCount={memoizedSetGamesCount}\n\t\t\t\t\t\titems={list}\n\t\t\t\t\t\tloaded={loaded}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{!!loaded && list?.length > 0 && (\n\t\t\t\t\t\t<ShowMore\n\t\t\t\t\t\t\tdisplayingGames={list?.length}\n\t\t\t\t\t\t\tallGames={count}\n\t\t\t\t\t\t\tshowMore={showMoreHandler}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</StyledListWrapper>\n\n\t\t\t\t<ProvidersSection />\n\t\t\t</StyledSlotContainer>\n\t\t</>\n\t);\n};\n\nexport const SlotProviderLayout: typeof SlotProviderLayout_ = (props) => {\n\treturn (\n\t\t<SlotsFiltersContainer>\n\t\t\t<SlotProviderLayout_ {...props} />\n\t\t</SlotsFiltersContainer>\n\t);\n};\n","import React, { useEffect, useState } from 'react';\n\nimport { MainLayout } from '@legacyApp/client/components/mainLayout';\nimport { pageEnhancer } from '@common/hoc/pageEnhancer';\nimport { handleGetStaticProps } from '@legacyApp/methods/router/handleGetStaticProps';\nimport { SlotProviderLayout } from '@modules/slots/layouts/SlotProvider.layout';\nimport { SlotPageJsonLd } from '@common/components/seo/SlotPageJsonLd';\nimport { getStaticPathsWrapper } from '@legacyApp/methods/getStaticPaths/getStaticPaths';\nimport { SlotsProvidersContext } from '@modules/slots/context/SlotsProvidersContext';\nimport { SlotsCategoriesContext } from '@modules/slots/context/SlotsCategoriesContext';\nimport { getDataFromArrayBySlug } from '@modules/slots/methods/getDataFromArrayBySlug';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { DEFAULT_NAMESPACE } from '@legacyApp/client/modules/translation/translate.constants';\nimport { SLOTS_PAGE_ID } from '@modules/slots/constants/slots.page.config';\nimport { getSlotsCategories } from '@modules/slots/methods/getSlotsCategories';\nimport { getProviders } from '@modules/slots/methods/getProviders';\nimport { getProviderPageData } from '@modules/cmsHandler/methods/getProviderPageData';\nimport { getPathLocalized } from '@common/methods/getPathLocalized/getPathLocalized';\nimport Seo from '@common/components/default/Seo/Seo';\n\nconst PAGE_ID = SLOTS_PAGE_ID.PROVIDER;\n\nexport async function getStaticProps(props) {\n\tconst providers = await getProviders();\n\n\tconst providerData = getDataFromArrayBySlug(\n\t\tprops.params.provider,\n\t\tproviders?.list,\n\t);\n\n\tif (!providerData?.slug) {\n\t\treturn {\n\t\t\tredirect: {\n\t\t\t\tdestination: getPathLocalized({\n\t\t\t\t\tpathname: '/slots/provider/all',\n\t\t\t\t\tlocale: props.locale,\n\t\t\t\t}),\n\t\t\t\tstatusCode: 301,\n\t\t\t},\n\t\t};\n\t}\n\n\tconst categories = await getSlotsCategories();\n\n\tconst { page_content } = await getProviderPageData(\n\t\tprops.params.provider,\n\t\tprops.locale,\n\t);\n\tconst noIndex = false;\n\n\treturn await handleGetStaticProps(\n\t\t{\n\t\t\tlocale: props.locale,\n\t\t\tparams: {\n\t\t\t\t...props.params,\n\t\t\t\tproviders,\n\t\t\t\tcategories,\n\t\t\t\tproviderData,\n\t\t\t\tnoIndex,\n\t\t\t\tpage_content,\n\t\t\t},\n\t\t},\n\t\t[DEFAULT_NAMESPACE, TransNamespace.SLOTS],\n\t\ttrue,\n\t);\n}\n\nexport async function getStaticPaths(params) {\n\treturn getStaticPathsWrapper(params);\n}\n\nconst SlotsProviders = (context) => {\n\tconst { params, locale } = context;\n\tconst { providers, provider, providerData, categories } = params;\n\tconst [providers_, setProviders_] = useState(providers);\n\tconst [categories_, setCategories_] = useState(categories);\n\tconst [providerData_, setProviderData_] = useState(providerData);\n\n\tuseEffect(() => {\n\t\tif (providerData_?.slug === provider || !providers_?.list?.length) {\n\t\t\treturn;\n\t\t}\n\t\tsetProviderData_(getDataFromArrayBySlug(provider, providers_?.list));\n\t}, [\n\t\tprovider,\n\t\tproviderData_?.slug,\n\t\tproviders_?.list,\n\t\tproviders_?.list?.length,\n\t]);\n\n\treturn (\n\t\t<SlotsCategoriesContext.Provider\n\t\t\tvalue={{ categories: categories_, setCategories: setCategories_ }}\n\t\t>\n\t\t\t<SlotsProvidersContext.Provider\n\t\t\t\tvalue={{ providers: providers_, setProviders: setProviders_ }}\n\t\t\t>\n\t\t\t\t<Seo\n\t\t\t\t\ttitle={PAGE_ID}\n\t\t\t\t\ttitleProps={{\n\t\t\t\t\t\tsection_name: providerData_?.name,\n\t\t\t\t\t}}\n\t\t\t\t\tprops={{\n\t\t\t\t\t\tnoindex: params.noIndex,\n\t\t\t\t\t\tnofollow: params.noIndex,\n\t\t\t\t\t}}\n\t\t\t\t\tpageParams={params}\n\t\t\t\t/>\n\t\t\t\t<SlotPageJsonLd\n\t\t\t\t\tname={providerData_?.name}\n\t\t\t\t\tslug={`provider/${provider}`}\n\t\t\t\t\tlocale={locale}\n\t\t\t\t/>\n\t\t\t\t<MainLayout v2>\n\t\t\t\t\t<SlotProviderLayout provider={providerData_} />\n\t\t\t\t</MainLayout>\n\t\t\t</SlotsProvidersContext.Provider>\n\t\t</SlotsCategoriesContext.Provider>\n\t);\n};\n\nexport default pageEnhancer(SlotsProviders, {\n\tid: PAGE_ID,\n\tnoSeo: true,\n});\n","\n    (window.__NEXT_P = window.__NEXT_P || []).push([\n      \"/slots/provider/[provider]\",\n      function () {\n        return require(\"private-next-pages/slots/provider/[provider]/index.tsx\");\n      }\n    ]);\n    if(module.hot) {\n      module.hot.dispose(function () {\n        window.__NEXT_P.push([\"/slots/provider/[provider]\"])\n      });\n    }\n  "],"names":["SlotProviderLayout_","provider","providerId","id","providerName","name","filterSort","useContext","SlotsFiltersContext","useState","DEFAULT_GAMES_PAGE","gamesPage","setGamesPage","GAMES_ON_PAGE","gamesCount","setGamesCount","memoizedSetGamesCount","useCallback","count","dataKey","setDataKey","callback","useFetchGames","gamesCallback","page","value","orderBy","useGetDataArray","list","data","loaded","loading","useEffect","dataKey_","SectionsTabNav","SlotsBreadcrumbs","title","SlotsFilters","active","length","NoGames","TileSlotsGrid","items","ShowMore","displayingGames","allGames","showMore","prevGamesPage","ProvidersSection","SlotProviderLayout","props","SlotsFiltersContainer","PAGE_ID","SLOTS_PAGE_ID","pageEnhancer","context","params","locale","providers","providerData","categories","providers_","setProviders_","categories_","setCategories_","providerData_","setProviderData_","slug","getDataFromArrayBySlug","SlotsCategoriesContext","setCategories","SlotsProvidersContext","setProviders","Seo","titleProps","section_name","noindex","noIndex","nofollow","pageParams","SlotPageJsonLd","v2","noSeo","window","__NEXT_P","push"],"mappings":"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","debug_id":"30ee08aa-3850-5ed9-a244-8f067f96e83b"}